1. Field
This disclosure relates generally to memories, and more specifically, to a ternary content addressable memory (TCAM) with magnetic tunnel junction (MTJ) devices.
2. Related Art
A content addressable memory (CAM) is a type of memory which is typically used in high-speed search operations. For a search operation, a CAM compares input search data against a table including rows of stored data, and returns the address of the matching data. Two basic types of CAMs are a binary CAM (BCAM) and a ternary CAM (TCAM). In a BCAM, each bitcell stores one of two states, a logic “1” or a logic “0”, such that the input search data is compared with each row of the table to determine whether the stored data of the row matches the input search data. In a TCAM, each bitcell stores one of three states, a logic “1”, a logic “0”, or a “don't care” value, in which the “don't care” value results in a match of the bit regardless of the value of the input bit of the search data. Therefore, in a TCAM, each bitcell includes a first bitcell portion configured to store a first bit and a second bitcell portion configured to store a second bit, in which the state of the bitcell is encoded with the two bits.
Different types of circuitries may be used to store the first bit and second bit within a TCAM bitcell. For example, a pair of latches formed using complementary MOS devices can be used to store two bits per bitcell. Alternatively, in order to achieve greater density and reduced power, magnetic tunnel junction devices may be used. However, with MTJ devices, read disturb, in which a bit within the TCAM bitcell changes states unintentionally, becomes an increasingly larger problem. Therefore, a need exists for a TCAM formed with MTJ devices with improved read disturb immunity.